The invention relates to a scalable video format conversion system, and more particularly, to a system which dynamically determines how many video fields are used in motion detection process when converting an interlaced video signal into a progressive video signal.
Generally speaking, there are two kinds of video signal, one is progressive video signal, and the other is interlaced video signal. In a progressive video signal, a video frame comprises all points (or pixels) of the image at any given sampling time. In an interlaced video signal, a video field comprises only half the pixels of the image at any given sampling time, and another video field at the next sampling time comprises the remaining half of the pixels. The advantage of interlaced scanning is that a high field rate can be achieved. However, when an interlaced video signal must be played on a progressive display device (such as a computer monitor), the interlaced video signal must be converted into a progressive video signal through “interlaced to progressive conversion”.
Conventional systems use a dedicated video format conversion chip to process video format conversion. The calculation requirements, the memory volume requirements, and the memory bandwidth requirements are roughly fixed, hence it does not require complex system resources management. With the advances of modern computer systems, some chips with integrated video processing capabilities are proposed. System resources management therefore becomes more and more complicated. A simple solution is to sufficiently design the system for handling the strictest situation. However, systems sufficient for handling the strictest situation cost much, and the strictest situation is not the most regular case. The drawback is that the system resources will not be used efficiently.
In U.S. Pat. No. 6,452,639 disclosed by Wagner, a de-interlacing method for dynamically determining which interpolation algorithm being used according to the state of system resources is proposed. With the method, when system resources are plentiful, the system uses a more complex interpolation algorithm, and when system resources are sparse, the system uses a simpler interpolation algorithm.
However, using the motion-adaptive de-interlacing method is the most efficient way to process interlaced to progressive conversion. The motion-adaptive de-interlacing method generally includes two steps. The first step involves processing motion detection, which means detecting a motion situation by checking a fix number of video fields of the interlaced video signal. Then, the second step involves selecting a proper interpolation algorithm according to the detected motion situation.
FIG. 1 shows a conventional video format conversion system. In FIG. 1, the video format conversion system 100 is a single chip containing an MPEG codec circuit 120 and a video format conversion circuit 140. The video format conversion system 100 utilizes the variable system resources 180 (including memory bandwidth, memory capacity, etc.) to process MPEG encoding/decoding and video format conversion. The video format converter 140 includes a motion detector 150 and an interpolator 160. The motion detector 150 determines a motion situation by checking a fix number of video fields in an interlaced video signal. The interpolator 160 converts the interlaced video signal into a progressive video signal with a chosen interpolation algorithm, which is chosen according to the motion situation.
In motion detection process, in actuality, the number of utilized video fields does not have to be fixed. Generally, the number of utilized video fields ranges from 2 to 6 fields (or even more than 6 fields). The more fields are utilized, the more accurate the detected motion situation will be. However, more system resources will be consumed when more video fields are utilized. FIG. 2 shows an example of 3-field motion detection. For determining the motion situation of an interpolating point X in field T, the 3-field motion detection finds the difference between the pixel value of point A in field T−1 and the pixel value of point B in field T+1, then uses a threshold to distinguish the result between static and dynamic. When |A−B|>threshold, the result is dynamic; when |A−B|<threshold, the result is static. The system can select a proper interpolation algorithm according to whether the result is dynamic or static.
FIG. 3 shows an example of 6-field motion detection. The point X in field T is the interpolated point. When |A−B|>threshold or |C−D|>threshold or |E−F|>threshold or |C−G|>threshold or |E−H|>threshold or |A−I|>threshold, the result is dynamic, otherwise the result is static. The situation shown in FIG. 3 is only an example. The used fields for motion detection process can be from T−3 to T+2, from T−2 to T+3, or other successive 6 fields.
As mentioned above, when more video fields are utilized in motion detection process, the more system resources will be consumed. However, in the prior art as shown in FIG. 1, conventional video format conversion system does not determine the number of video fields used in motion detection process dynamically according to the availability of variable system resources. That is, the system does not always use the best motion detection method acceptable to the available system resources at any given time. The draw back of the above mention situation is that the system resources are not used efficiently.